/*   
 * Copyright (c) 2010-2020 DMGIS Ltd. All Rights Reserved.   
 *   
 * This software is the confidential and proprietary information of   
 * DMGIS. You shall not disclose such Confidential Information   
 * and shall use it only in accordance with the terms of the agreements   
 * you entered into with DMGIS.   
 *   
 */
package com.dmgis.qxfw.dataservice.businessservice.cdtour.service;


import com.dmgis.qxfw.dataservice.businessservice.api.entity.yj.*;
import com.dmgis.qxfw.dataservice.businessservice.api.entity.zy.*;
import com.dmgis.qxfw.dataservice.businessservice.common.domain.ForecastKey;
import com.dmgis.qxfw.dataservice.businessservice.common.entity.DZWarning;

import java.util.Date;
import java.util.List;
import java.util.Map;

public interface ITourInfoSearchService {
	/**
	 * 获取旅游预报最新时间
	 * 
	 * @return
	 * @author dsq
	 * @date 2018年8月21日
	 */
	public ForecastKey getTownNewDate();

	/**
	 * 获取旅游预报基本信息
	 * 
	 * @param forecastKey
	 * @return
	 * @author dsq
	 * @date 2018年8月21日
	 */
	public List<tour_fcst> getTourFcstInfo(ForecastKey forecastKey);

	/**
	 * 使用注解方式传入多个参数，不需要制定parameterType
	 * 
	 * @param startDate
	 *            id小于0时可为null
	 * @param endDate
	 *            id小于0时可为null
	 * @param id
	 * @return
	 * @author dsq
	 * @date 2018年7月19日
	 */
	List<warn_signal_info> getWarningInfo(String startDate, String endDate, int id);

	/**
	 * 获取旅游产品信息
	 * 
	 * @param id
	 * @param
	 * @param startDate
	 * @param endDate
	 * @return
	 * @author dsq
	 * @date 2018年8月22日
	 */
	List<base_product> getTouristProduct(int id, String productType, String startDate, String endDate);

	List<cts_dzwarning> getSlhxCtsProduct(int id, String productType, String startDate, String endDate);

	List<cts_dzwarning> getTouristCtsProduct(int id, String productType, String startDate, String endDate);
	/**
	 * 获取指数预报最新时间
	 * @return  
	 * @author dsq
	 * @date 2018年8月23日
	 */
	ForecastKey getZhiShuNewestDate();
	
	/**
	 * 获取景区指数信息
	 * @param forecastKey
	 * @return  
	 * @author dsq
	 * @date 2018年8月24日
	 */
	List<Map<String, Object>> getZhiShuInfo(ForecastKey forecastKey);
	
	/**
	 * 获取所有景点信息
	 * @return  
	 * @author dsq
	 * @date 2018年8月24日
	 */
	List<tour_stations> getAllTourStations(String stationid);

	/**
	 * 获取每个景点的最新实况图片
	 * @return  
	 * @author dsq
	 * @date 2018年8月24日
	 */
	List<tour_actual_img> getNewestActualImg();
	
	List<tour_actual_img> getImgGallery(String startDate, String endDate, String stationId);

	//景点
	public List<tour_stations> getTourStation();

	//更新
	public String updatePoint(tour_stations selecttour, String stationid);

	//添加
	public String addPoint(tour_stations selecttour);

	//删除
	public String deletePoint(tour_stations selecttour);

	public String getstationid(tour_stations selecttour);

	//地灾预警区
	public List<DZWarning> getDzpart(String bindid);

	/**
	 * 获取关联灾害点的具体信息
	 * @param dpoint
	 * @return
	 */
	public List<potential_points> getDisPoint(List<String> dpoint);

	/**
	 * 获取适宜特色旅游
	 * @param fcst
	 * @return
	 */
	public List<travel_predict> getTourfcst(String fcst);

	/**
	 * 获取旅游景点坐标
	 * @param stationnames
	 * @return
	 */
	public List<tour_stations> getTourSta(List<String> stationnames);

	public List<cshx_zsyb> getFireIndex(String date);

	public List<tour_stations> getImpdot(String stationname);

	public cshx_zsyb initcshxPage();

	/**
	 * 最佳旅游路线天气预报
	 * @param stationnames
	 * @param sx 
	 * @param sc 
	 * @param time 
	 * @return
	 */
	public List<tour_fcst> getTourPathfcst(List<String> stationnames, String time, String sc, String sx);

	/**
	 * 景点地质灾害、森林火险
	 * @param type
	 * @return
	 */
    List<industry_warning> getJDWarning(String type, String industrytype);

	/**
	 * 景点空气污染指数
	 * @return
	 */
	List<Map<String, Object>> showAirzhishu();

	/**
	 * 景观预报
	 * @return
	 */
	List<special_fcst> showJGForecast(String staId);

	/**
	 * 气象预警
	 * @param bindid
	 * @return
	 */
    List<warning> getQxpart(String bindid);


	public Date getDZNewDate();

	public Date getsceneryDate();

	public Date initslhxwaring();

	public Date getsightpoint();

	List getWarningPatrtInfo();
}
